Laser diode current controller

ABSTRACT

An integrated, programmable, feed forward current controller supplies a control current to control or compensate a drive current used to drive a device having a response that depends upon a physical parameter such as temperature. Control current compensation data are stored in a programmable look-up table as a function of the physical parameter. A transducer converts a measurement of the physical parameter into an electrical signal that is digitized and used to address the contents of the look-up table. The compensated control current stored in the look-up table is converted into an analog current and used to control or compensate a drive current used to drive the device under control, thereby minimizing the dependence of the device&#39;s response on the physical parameter.

TECHNICAL FIELD

[0001] This invention relates to the field of feed forward programmablecurrent controllers.

BACKGROUND

[0002] The response of an electronic device is often dependent onexternal physical parameters such as temperature, pressure, andhumidity. For example, as shown in FIG. 1, the output power of a laserdiode is a function of both the temperature of the diode, and the inputcurrent injected into the diode. At a given temperature, a minimum orthreshold current must be supplied to the laser diode to cause it toemit a significant amount of power in the form of laser light. Above thethreshold current, the power output of the laser diode is approximatelyproportional to its input current. This dependence of output power oninput or injected current allows information to be modulated onto thepower output of the laser diode by modulating the input current used todrive the laser diode.

[0003] Modulation of the output power of a laser diode is typicallyachieved by driving the laser diode with both a bias current 120 and amodulation current 130 as shown in FIG. 1. The combination of the bias120 and modulation 130 currents establishes an operating range for thelaser diode within which the laser light output power 140 is modulated.The operating range includes a minimum light output power level 150 anda maximum light output power level 160. When the modulation current 130is digitally modulated between low and high current levels, laser lightoutput power140 is similarly modulated between low 150 and high 160power levels. The low 150 and high 160 power levels can be used torepresent the binary logic levels 0 and 1 in a digital bit stream. Thus,the laser diode can be used to generate and transmit a digital bitstream by driving it with a modulation current 130 that is driven by thesame digital bit stream.

[0004] It is well known that the power output of a laser diode has astrong temperature dependence. Consequently, the operating rangeestablished for a laser diode by a given pair of bias and modulationcurrents changes as the ambient temperature of the diode changes. Formany applications, it is important to maintain the light output powerlevels of a laser diode within a predetermined operating range. Forexample, in optical fiber communications it is important to maintain alaser diode's light output power levels within a predetermined operatingrange so that the system can discriminate between the low and high logiclevels corresponding to the laser diode's low 150 and high 160 lightoutput power levels.

[0005] To maintain a laser diode's established low 150 and high 160light output power levels as the diode's temperature changes, thediode's bias and modulation currents must be temperature compensated oradjusted to correct for the dependence of the laser diode's light outputpower on temperature. For example, as shown in FIG. 1, as thetemperature of a laser diode configured to operate at −40° C. betweenlow 150 and high 160 light power output levels changes from −40° C. to+80° C., the diode's bias 120 and modulation 130 currents at −40° C.must be adjusted to temperature compensated bias 121 and modulation 131currents at +80° C. in order to keep the diode's light output powerwithin its operating range.

SUMMARY

[0006] The invention discloses an integrated, programmable, feed forwardcurrent controller. The programmable feed forward current controllerproduces a control current that can be used to control a drive currentthat is used to drive an electronic device. The programmable feedforward current controller can thereby be used to compensate theelectronic device for the dependence of its response on a physicalparameter such as temperature.

[0007] The programmable feed forward current controller can use anarbitrarily programmable look-up table to program the control current.The arbitrarily programmable look-up table can be pre-programmed with aplurality of control currents corresponding to a respective plurality ofvalues of the physical parameter on which the response of the electronicdevice depends. A transducer can produce a signal corresponding to ameasured value of the physical parameter. The signal can be digitizedand used to address an entry in the look-up table. The look-up tableentry can be preprogrammed with a digitally stored control current thatcan be subsequently converted into an analog control current. The analogcontrol current can be used to control a drive current to drive theelectronic device and to compensate the device for the dependence of itsresponse on the physical parameter.

[0008] In one implementation, the programmable current controller can beconfigured to control the bias and modulation currents that are used todrive a laser diode in order to compensate the laser diode for thetemperature dependence of its light output power levels. In thisimplementation, a user can predetermine the temperature compensated biasand modulation currents needed to drive the laser diode so that it'slight output power levels are maintained at predetermined minimum andmaximum power levels regardless of temperature. The control currentsrequired to produce the predetermined temperature compensated bias andmodulation currents can then be programmed into a pair of look-up tablesfrom the programmable current controller's command interface.

[0009] In operation, the temperature of the laser diode can be measuredthrough an internal or external temperature sensor. The measuredtemperature can be digitized and added to a respective pair of memoryoffsets to produce a pair of addresses for the look-up tables. Theaddresses can be used to respectively address the pair of look-up tablesto obtain the control currents necessary to produce temperaturecompensated bias and modulation currents at the measured temperature.The addressed control currents can be converted into analog currents andused to control the bias and modulation currents that drive the laserdiode. The respective rates at which the control currents are updatedcan be independently programmed to prevent instabilities from arising inthe controlled bias and modulation currents.

[0010] Aspects of the invention can include one or more of thefollowing: the programmable bias controller can be implemented as amonolithic integrated circuit having a feed forward programmable currentsupply. A feed forward compensation circuit can be used to drive thefeed forward programmable current supply. The current output of theprogrammable current supply can be updated at a programmable rate. Thefeed forward compensation circuit can include a programmable look-uptable configured to store data used to program the programmable currentsupply. The programmable look-up table can be made of non-volatilememory elements such as EEPROM memory elements. The programmable biascontroller can include means for programming control currentcompensation data into the programmable look-up table. The programmingmeans can include a digital serial interface. The programmable currentcontroller can include a transducer capable of converting a physicalparameter such as a temperature, pressure, flow, intensity, humidity,luminosity, acidity, salinity, resistance, current, voltage, weight,size, or density into an electrical signal. An analog-to-digitalconverter can convert the electrical signal output by the transducer toa digital signal that can be used to address an entry in theprogrammable look-up table.

[0011] In another aspect, the invention discloses a programmable biascontroller implemented as a monolithic integrated circuit having atransducer capable of converting a physical parameter into a digitalsignal; a programmable look-up table coupled to and addressable by thedigital output of the transducer that is configured to store controlcurrent data for a programmable current source; and a programmablecurrent source coupled to the programmable look-up table.

[0012] In another aspect, the invention discloses a laser diode currentcontroller implemented on a monolithic integrated circuit having atemperature sensing circuit with a digital output; first and secondcontrol current look-up tables coupled to and addressable by the digitaloutput of the temperature sensing circuit that are configured to storecontrol current data to control or temperature compensate laser diodebias and modulation currents; and first and second control currentsources respectively operable to control the bias and modulationcurrents used to drive a laser diode.

[0013] Implementations of the invention can include one or more of thefollowing: the temperature sensing circuit can be selectably an internaltemperature sensing circuit or an external temperature sensing circuit.The temperature sensing circuit can include an analog temperaturetransducer operable to output an analog signal corresponding to atemperature, and an analog-to-digital converter operable to convert theanalog output signal to a digital output signal.

[0014] The programmable current controller can further include first andsecond digital-to-analog converters respectively coupled between thefirst and second control current look-up tables and the first and secondcontrol current sources, and configured to respectively convert thedigital outputs of the first and second control current look-up tablesinto analog outputs to respectively program the first and second controlcurrent sources. The update rates of the first and seconddigital-to-analog converters can be independently programmable. Thefirst and second control current sources can be temperature compensated.The first and second control current look-up tables can comprisenon-volatile memory elements such as EEPROM memory elements. The firstand second control current look-up tables can be programmable. Theprogrammable current controller can include means for programming thefirst and second control current look-up tables such as a digital serialinterface.

[0015] In another aspect, the invention discloses a method formaintaining the power output of a laser diode at a plurality of powerlevels including measuring the temperature of the laser diode;determining the control currents necessary to temperature compensate thebias and modulation currents used to drive the laser diode; andcontrolling the bias and modulation currents used to drive the laserdiode at the desired power output.

[0016] The details of one or more embodiments of the invention are setforth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the invention will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

[0017]FIG. 1 is a graphical illustration of the light power output of alaser diode as a function of injected current and temperature.

[0018]FIG. 2 is a schematic illustration of a programmable currentcontroller according to a first implementation of the invention.

[0019]FIG. 3 is a schematic illustration of a programmable currentcontroller according to a second implementation of the invention.

[0020]FIGS. 4A and 4B are schematic illustrations showing the control ofthe reference voltage source and the transducer source, respectively, inthe second implementation of the invention.

[0021]FIGS. 5A and 5B are schematic illustrations showing the control ofaccess to data in the look-up tables according to the secondimplementation of the invention.

[0022]FIG. 6 is a schematic illustration of the current generatorsaccording to the second implementation of the present invention.

[0023] Like reference symbols in the various drawings indicate likeelements.

DETAILED DESCRIPTION

[0024]FIG. 2 discloses one implementation of a highly integratedprogrammable feed forward current controller (200) that includes atransducer (210), an analog-to-digital (A/D) converter (220), aprogrammable look-up table (230), and a digitally controlled currentgenerator (250). Transducer (210) can be any device that is capable ofconverting a physical parameter such as a temperature, pressure, flow,intensity, humidity, luminosity, acidity, salinity, weight, size,density, or other physical parameter into an electrical signal. Theelectrical signal generated by transducer (210) can be either an analogor digital signal. Typically, the signal is an analog signal that can besubsequently digitized by A/D converter (220). Programmable look-uptable (230) can be implemented in any general purpose memory such asrandom access memory (RAM) or non-volatile Electrically ErasableProgrammable Read-Only Memory (EEPROM). Programmable look-up table (230)can be programmed with arbitrary data via a command interface (260).

[0025] The programmable current controller (200) can be used to controla drive current used to drive a device having a response that depends onboth the drive current and on some physical parameter that can bemeasured by transducer (210). To render the response of the deviceindependent of the physical parameter measured by transducer (210),programmable look-up table (230) can be programmed with the controlcurrents that are necessary to produce the compensated drive currentsfor a given value of the physical parameter.

[0026] For example, in one implementation transducer (210) can be atemperature transducer, and programmable current controller (200) can beused to control a drive current that is used to drive a laser diodehaving a light output power level that depends on both the drive currentsupplied to the laser diode and the temperature of the laser diode. Inthat implementation, programmable look-up table (230) can be programmedwith the control currents necessary to temperature compensate the drivecurrent in order to drive the laser diode to output light at a constantpower level regardless of temperature.

[0027] In operation, the controller maintains the laser diode lightoutput level at a constant level, independent of temperature, asfollows. At a given temperature, transducer (210) outputs a signalrepresentative of the laser diode temperature. The transducer signal isdigitized and used to select an entry in programmable look-up table(230). The look-up table is pre-programmed with the control currents, asa function of temperature, that are required to generate temperaturecompensated drive currents capable of driving the laser diode to outputlight at the constant output power level. The selected entry of look-uptable (230) is delivered to a digitally controlled current generator(250) to generate a suitable control current to control the drivecurrent delivered to the laser diode so that the laser diode lightoutput power level will remain constant. The digitally controlledcurrent generator (250) can be implemented as a current mode D/Aconverter (240) that is driven by a reference current (245).

[0028] All functions of current controller (200) can be controlled via acommand interface (260) that is capable of writing data to and receivingdata from a general purpose memory (270). The general purpose memory(270) can include programmable look-up table (230). Command interface(260) can be implemented as a digital serial interface, however, otherimplementations are possible and still within the scope of theinvention. For example, command interface (260) can also be implementedas a digital parallel interface.

[0029] As shown in FIG. 3, in one implementation a digitally controlledcurrent controller (300) can combine a temperature transducer (320), twoprogrammable current generators (301) and (302), and a pair ofintegrated programmable look-up tables (310) and (311) in a monolithic,integrated circuit package. Current generators (301) and (302) can beused to control the bias and modulation currents used to drive a laserdiode in a fiber optics module in order to compensate for variations inthe laser diode's light output power level as a function of temperature.All functions of current controller (300) can be controlled via commandand control interface (330), which can be implemented as a digitalserial interface.

[0030] Current generators (301) and (302) can be digitally programmedwith the respective contents of programmable look-up tables (310) and(311) to vary with temperature the control currents delivered by currentcontroller (300). The temperature varied control currents can be used tocontrol the bias and modulation currents used to drive the laser diode.Look-up tables (310) and (311) can be programmed with arbitrary datathrough the command and control interface (330). In particular, look-uptables (310) and (311) can be respectively programmed with thetemperature dependent control currents that are necessary to producetemperature compensated bias and modulation currents that can drive thelaser diode to output light at constant predetermined minimum andmaximum output power levels.

[0031] Current controller (300) can be configured to utilize either aninternal (320) or external (321) temperature sensor to determine thecontrol currents output by current generators (301) and (302). Theinternal temperature sensor can operate over any temperature range, andtypically operates over the range from −40° C. to +85° C. The output(322) from the internal or external temperature sensor can be convertedto a digital signal by an A/D converter (340). The output from A/Dconverter (340) can be separately added to a pair of memory offsets(343) and (344), and the resulting sums can be respectively used toaddress entries in programmable look-up tables (310) and (311). Theaddressed entries of programmable look-up tables (310) and (311) canrespectively contain the pre-programmed digitized control currents thatare necessary to produce temperature compensated bias and modulationcurrents at the measured temperature. These digitized control currentscan be converted into a pair of analog control currents by a respectivepair of current mode D/A converters (360) and (361). The analog controlcurrents can be used to control the bias and modulation currents used todrive the laser diode.

[0032] In one implementation A/D converter (340) is configured as a6-bit A/D converter whose output, when added to a pair of memory offsets(343) and (344), can be used to address a respective pair of entries ineach of programmable look-up tables (310) and (311). The addressedentries of look-up tables (310) and (311) can be implemented as 8-bitwords containing the digitized control currents that are necessary tocontrol the bias and modulation currents used to drive the laser diodeat the measured temperature. These digitized control currents can berespectively converted into analog control currents by current mode D/Aconverters (360) and (361). The analog control currents willrespectively take on values equal to N₃₁₀*I_(ref)/16 andN₃₁₁*I_(ref)/16, where N₃₁₀ and N₃₁₁ are the respective decimal valuesof the 8-bit words addressed in look-up tables (310) and (311), andwhere I_(ref) is the reference current provided to D/A converters (360)and (361).

[0033] Current controller (300) can also include a general purposememory (312), and control and status registers (309) that can be used totest and setup the controller. The general purpose memory (312), look-uptables (310) and (311), and control and status registers (309) can beimplemented in a single EEPROM array. In one implementation, a 272 byteEEPROM array is configured so that the first 128 bytes of the array isused for the general purpose memory (312), while the next 16 bytes areused for the control and status registers (309), the next 64 bytes areused for look-up table (310), and the last 64 bytes are used for look-uptable (311). The look-up tables (310) and (311) can be programmed tostore the temperature dependent control currents that can be deliveredby current controller (300) through current generators (301) and (302).The control and status registers (309) can be programmed to change thevalue of various current controller parameters that are stored ingeneral purpose memory (312) and look-up tables (310) and (311). Thecontrol and status registers (309) can be written to and read from thecontrol interface (330), which can be implemented as a serial interface.

[0034] In one implementation, current controller (300) is configured tohave seven byte-wide control registers and one byte-wide statusregister. In this implementation, the first byte of the control andstatus register memory is occupied by control register 0 (CR0). Thefirst two bits of CR0 can be set to inhibit write operations to certainaddresses within the memory of current controller (300) to protect thedata stored in those sections of memory. When the first two bits of CR0are set to (0,0) no data in memory is protected. When they are set to(0,1) only the data in general purpose memory (312) is protected. Whenthey are set to (1,0) only the data in general purpose memory (312) andlook-up table (310) is protected. Finally, when they are set to (1,1)the data in general purpose memory (312), look-up table (310), andlook-up table (311) is protected.

[0035] As shown in FIG. 4A, the third bit (401) of CR0 is used toconfigure a voltage reference pin (351) to either output an internallygenerated reference voltage (350) when set low (default) or to receivean external reference voltage when set high. The voltage, whetherinternal or external, is used by A/D converter (340) as a referencevoltage. As shown in FIG. 4B, the fourth bit (402) of CR0 is used toconfigure a voltage sense pin (321) to either output the voltagegenerated by an internal temperature sensor (320) when set low(default), or to receive an external voltage reference when set high.The voltage on voltage sense pin (321), whether internally or externallygenerated, is digitized by A/D converter (340). When the voltage isexternally generated, it can be amplified by an internal amplifier tomaximize utilization of the dynamic range of A/D converter (340). Thegain of the internal amplifier is controlled by the fifth (403) andsixth (404) bits of CR0 such that when these bits are set to: (0,0) thegain is set to unity; (0,1), the gain is set to 10; (1,0), the gain isset to 20; and finally, (1,1), the gain is set to 30.

[0036] As shown in FIG. 6, the seventh (601) and eighth bits of CR0 areused to respectively configure current generators (301) and (302). Whenthe seventh bit of CR0 is set low (default), current generator (301) isconfigured as a current source; when the seventh bit is set high,current generator (301) is configured as a current sink. Similarly, whenthe eighth bit of CR0 is set low (default), current generator (302) isconfigured as a current source; and when the eighth bit is set high,current generator (302) is configured as a current sink.

[0037] Control register 1 (CR1) occupies the second byte of control andstatus register (309) memory. As shown in FIG. 5A, the first six bits(501) of CR1 are used to hold a 6-bit address that can be added to thebase address (342) of look-up table (310) (both shown in FIG. 5B) toaccess the contents of a row of the look-up table when the seventh bit(503) of CR1 is set high. When the seventh bit (503) of CR1 is set low(default), the first six bits (501) of CR1 can be ignored, and thecontents of look-up table (310) can be accessed by the sum of the 6-bitoutput of A/D converter (340) and the base address (342) of look-uptable (310).

[0038] As shown in FIG. 5B, the eighth bit (531) of CR1 controls theinput (346) to D/A converter (360). When the eighth bit (531) of CR1 isset low (default), the input (346) to D/A converter (360) is theaddressed content of look-up table (310), where the address is suppliedby either A/D converter (340) or the first six bits (501)of CR1 aspreviously discussed in reference to FIG. 5A. When the eighth bit (531)of CR1 is set high, the input (346) to D/A converter (360) is an 8-bitword (541) that is stored in Control Register 3 (CR3), which occupiesthe fourth byte of control and status register (309) memory.

[0039] Control register 2 (CR2) occupies the third byte of control andstatus register (309) memory and performs the same functions as CR1.Namely, as shown in FIG. 5A, the first six bits (502) of CR2 contain anaddress that when added to the base address (341) of look-up table (311)can be used to access a row of look-up table (311) when the seventh bit(504) of CR2 is set high. When the seventh bit (504) of CR2 is set low(default), the first six bits (502) of CR2 are ignored and the contentsof look-up table (311) are accessed by the sum of the 6-bit output ofA/D converter (340) and the base address (341) of look-up table (311).Similarly, as shown in FIG. 5B, the eighth bit (532) of CR2 controls theinput (345) to D/A converter (361). When the eighth bit (533) of CR2 isset low (default), the input (345) to D/A converter (361) is theaddressed content of the row of look-up table (311), where the addressis supplied by either A/D converter (340) or the first six bits (502) ofCR2 as previously discussed in reference to FIG. 5A. When the eighth bit(532) of CR2 is set high, the input (345) to D/A converter (361) is an8-bit word (542) that is stored in Control Register 4 (CR4), whichoccupies the fifth byte of control and status register (309) memory.

[0040] Control register 5 (CR5) occupies the sixth byte of control andstatus register (309) memory and is used to control the behavior ofcurrent generators (301) and (302). As shown in FIG. 6, the first twobits (602) of CR5 can be set to determine the maximum current that canbe generated by current generator (301). When the first two bits (602)of CR5 are set to (0,0) the maximum current can be set by an externalreference (603). When the first two bits are set to (0,1) the maximumcurrent can be internally set to a first value (611), which can be+/−0.55 mA. When the first two bits are set to (1,0) the maximum currentcan be internally set to a second value (612), which can be +/−1 mA.Finally, when the first two bits are set to (1,1), the maximum currentcan be internally set to a third value (613), which can be +/−1.6 mA.The third and fourth bits of CR5 are similarly used to determine themaximum current that can be generated by current generator (302).

[0041] The fifth (605) and sixth bits of CR5 are used to determine howthe respective outputs of current generators (301) and (302) behave whenpower is initially supplied to the circuit. When the fifth (605) orsixth bit is set low (default), the selected output current of currentgenerator (301) or (302) is immediately available upon the applicationof power to the circuit. When the fifth (605) or sixth bit is set high,the selected output current of current generator (301) or (302) isslowly ramped up from zero according to the respective programmableupdate clocks of D/A converters (360) and (361) as described below.

[0042] Control Register 6 (CR6) occupies the seventh byte of control andstatus register (309) memory, and is used to control the update clockrates of D/A converters (360) and (361). The first three bits (630) ofCR6 can be set to control the update clock rate of D/A converter (360),while the fourth through sixth bits can be set to control the updateclock rate of D/A converter (361). The update rates for D/A converters(360) and (361) can be determined by the relevant three bits accordingto table 1 below. In one implementation, the update rates for D/Aconverters (360) and (361) are programmed to different values to preventinstabilities from arising in the modulation and bias currentscontrolled by current controller (300) when the modulation and biascurrents are controlled by a feedback circuit. TABLE 1 Bit 1 Bit 2 Bit 3Update Rate (us) 0 0 0 80 0 0 1 160 0 1 0 320 0 1 1 640 1 0 0 1280 1 0 12560 1 1 0 5120 1 1 1 10240

[0043] The status register occupies the eighth byte of control andstatus register (309) memory. The first six bits of the status registercan be set internally to hold the digital output of A/D converter (340),and can be read but not set by a user.

[0044] In operation, the programmable current controller (300) depictedin FIG. 3 can be described as follows. A user predetermines data for apair of control currents (301) and (302) that are required totemperature compensate or control a pair of drive currents used to driveone or more devices having a temperature dependent output response. Thecontrol current compensation data are then programmed from the commandinterface (330) into respective look-up tables (310) and (311) ofcurrent controller (300) through control and status registers (309). Theoperating temperature of the device under control can then be measuredthrough either internal temperature sensor (320) or through externalsense terminal (321). The measured temperature can be digitized andadded to a pair of memory offsets for look-up tables (310) and (311).The resulting sums can be used to address the control currentcompensation data for current generators (301) and (302), respectively,that are stored in look-up tables (310) and (311). The control currentcompensation data can be respectively converted to analog currentsthrough current mode D/A converters (360) and (361). The resultingcontrol currents (301) and (302) can then be used to control ortemperature compensate a pair of currents used to drive the device ordevices to which programmable current controller (300) is attached inorder to remove the temperature dependence from the device or devicesoutput response.

[0045] A number of embodiments of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Forexample, while the invention has been described as a current controller,it can also be used as a voltage controller. Also while the inventionhas been described as controlling a device that has a temperaturedependent response, the invention can also be used to control a devicehaving a response that is dependent on any physical variable that can bemeasured by a transducer and converted into an electrical signal.Examples of such physical variables include, but are not limited to,currents, voltages, resistances, pressures, flows, intensities,humidities, luminosities, acidities, salinities, weights, sizes, ordensities. Finally, while the invention has been described as minimizingthe dependence of the response of a device under control on the physicalparameter measured by transducer (210), the invention can be used toalter the dependence of the response of the device under control on thephysical parameter measured by transducer (210) in an arbitrary way. Forexample, the invention can be used to alter the response of a devicethat is naturally linearly dependent on temperature so that the responseof the device is quadratically dependent on temperature, orexponentially dependent on temperature. Accordingly, these and otherembodiments are within the scope of the following claims.

What is claimed is:
 1. A programmable bias controller, comprising amonolithic integrated circuit having a feed forward programmable currentsupply.
 2. The controller of claim 1, further comprising a feed forwardcompensation circuit to drive the feed forward programmable currentsupply.
 3. The controller of claim 1, wherein the output of theprogrammable current supply is updatable at a programmable rate.
 4. Thecontroller of claim 2, wherein the monolithic integrated circuit furthercomprises a programmable look-up table configured to store data used toprogram the programmable current supply.
 5. The controller of claim 4,wherein the programmable look-up table comprises non-volatile memoryelements.
 6. The controller of claim 5, wherein the non-volatile memoryelements comprise EEPROM memory elements.
 7. The controller of claim 4,further comprising means for programming control current compensationdata into the programmable look-up table.
 8. The controller of claim 7,wherein the means for programming the programmable look-up tablecomprise a serial interface.
 9. The controller of claim 4, furthercomprising a transducer having an output signal corresponding to anentry in the programmable look-up table.
 10. The controller of claim 9,wherein the transducer is a device that is capable of converting aphysical parameter into an electrical signal.
 11. The controller ofclaim 10, wherein the transducer is a device that is capable ofproducing an electrical signal that is representative of a physicalparameter chosen from the group consisting of temperature, pressure,flow, intensity, humidity, luminosity, acidity, salinity, resistance,current, voltage, weight, size, and density.
 12. The controller of claim10, further comprising an analog-to-digital converter coupled betweenthe transducer and the programmable look-up table, wherein theanalog-to-digital converter is configured to convert the electricalsignal output by the transducer to a digital signal that can select anentry in the programmable look-up table.
 13. A programmable biascontroller, implemented as a monolithic integrated circuit, comprising:a transducer capable of converting a physical parameter into a digitalsignal; a programmable look-up table coupled to and addressable by thedigital output of the transducer, wherein the programmable look-up tableis configured to store control current data for a programmable currentsource; and a programmable current source coupled to the programmablelook-up table.
 14. The programmable bias controller of claim 13, whereinthe transducer capable of converting a physical parameter into a digitalsignal further comprises: a transducer capable of converting a physicalparameter into an analog signal; and an analog-to-digital converter. 15.A laser diode current controller, implemented on a monolithic integratedcircuit, comprising: a temperature sensing circuit having a digitaloutput; first and second control current look-up tables coupled to andaddressable by the digital output of the temperature sensing circuit,wherein the first and second control current look-up tables arerespectively configured to store control current data to control ortemperature compensate laser diode bias and modulation currents; andfirst and second control current sources, wherein the first and secondcontrol current sources are respectively operable to control ortemperature compensate the bias and modulation currents used to drivethe laser diode.
 16. The controller of claim 15, wherein the temperaturesensing circuit is selectably an internal temperature sensing circuit oran external temperature sensing circuit.
 17. The controller of claim 15,wherein the temperature sensing circuit comprises an analog temperaturetransducer operable to output an analog signal corresponding to atemperature, and an analog-to-digital converter operable to convert theanalog output signal to a digital output signal.
 18. The controller ofclaim 15, wherein the monolithic integrated circuit further comprisesfirst and second digital-to-analog converters respectively coupledbetween the first and second control current look-up tables and thefirst and second control current sources, and wherein the first andsecond digital-to-analog converters are respectively configured toconvert the digital outputs of the first and second control currentlook-up tables into analog outputs to respectively program the first andsecond control current sources.
 19. The controller of claim 18, whereinthe update rates of the first and second digital-to-analog convertersare independently programmable.
 20. The controller of claim 15, whereinthe first and second control current sources are temperaturecompensated.
 21. The controller of claim 15, wherein the first andsecond control current look-up tables comprise non-volatile memoryelements.
 22. The controller of claim 21, wherein the non-volatilememory elements are EEPROM memory elements.
 23. The controller of claim15, wherein the first and second control current look-up tables areprogrammable.
 24. The controller of claim 23, further comprising meansfor programming the first and second control current look-up tables. 25.The controller of claim 24, wherein the means for programming the firstand second control current look-up tables comprise a serial interface.26. A method for maintaining the power output of a laser diode at aplurality of predetermined levels, comprising: measuring the temperatureof the laser diode; determining the control currents necessary totemperature compensate the bias and modulation currents used to drivethe laser diode; and controlling the bias and modulation currents usedto drive the laser diode at the predetermined power levels.
 27. A methodfor controlling a drive current used to drive a device having a responsethat depends on a physical parameter, comprising: measuring the physicalparameter on which the response of the device depends; using themeasured physical parameter to determine a control current to controlthe drive current used to drive the device; and controlling the drivecurrent with the control current to compensate for the dependence of thedevice's response on the physical parameter.